联邦学习攻击与防御综述
联邦学习攻击与防御综述
吴建汉1,2, 司世景1, 王健宗1, 肖京1
1.平安科技(深圳)有限公司,广东 深圳 518063
2.中国科学技术大学,安徽 合肥 230026
摘要:随着机器学习技术的广泛应用,数据安全问题时有发生,人们对数据隐私保护的需求日渐显现,这无疑降低了不同实体间共享数据的可能性,导致数据难以共享,形成“数据孤岛”。联邦学习可以有效解决“数据孤岛”问题。联邦学习本质上是一种分布式的机器学习,其最大的特点是将用户数据保存在用户本地,模型联合训练过程中不会泄露各参与方的原始数据。尽管如此,联邦学习在实际应用中仍然存在许多安全隐患,需要深入研究。对联邦学习可能受到的攻击及相应的防御措施进行系统性的梳理。首先根据联邦学习的训练环节对其可能受到的攻击和威胁进行分类,列举各个类别的攻击方法,并介绍相应攻击的攻击原理;然后针对这些攻击和威胁总结具体的防御措施,并进行原理分析,以期为初次接触这一领域的研究人员提供详实的参考;最后对该研究领域的未来工作进行展望,指出几个需要重点关注的方向,帮助提高联邦学习的安全性。
关键词: 联邦学习 ; 攻击 ; 防御 ; 隐私保护 ; 机器学习
论文引用格式:
吴建汉, 司世景, 王健宗, 等. 联邦学习攻击与防御综述[J]. 大数据, 2022, 8(5): 12-32.
WU J H, SI S J, WANG J Z, et al. Threats and defenses of federated learning: a survey[J]. Big Data Research, 2022, 8(5): 12-32.
0 引言
1 联邦学习中的攻击类型
1.1 数据中毒
1.2 模型攻击
1.3 推理攻击
1.4 服务器漏洞
2 联邦学习中的防御措施
2.1 联邦学习通用隐私保护措施
2.1.1 差分隐私
在联邦学习环境中,差分隐私通过掩盖真实数据达到防止用户隐私泄露的目的,其主要思想是在数据上添加噪声(如高斯噪声、拉普拉斯噪声等),使得数据库查询结果对数据集中单个记录的变化不敏感,从而防止攻击者利用统计特征的变动推理出隐私属性。差分隐私具有计算效率高、攻击者无法恢复原始数据等特点,其原理如下:给定两个数据集D和D′,如果二者有且仅有一个数据不同,则可将这两个数据集称为相邻数据集,由此差分隐私的形式可以定义为:
其中,A为随机算法(给定一个输入,经过算法后得出的输出不是固定值,而是服从某一分布的随机输出)。如果将该算法应用于任意两个相邻数据集,得到输出O的概率是相似的(都小于ε),那么可以得出该算法可以达到差分隐私的效果。从上述过程可以看出,观察者很难通过观察一个输出结果来检测出数据集微小的变化,无法获得真实数据,从而达到保护隐私的目的, 此种方法可以有效地防御推理攻击和数据中毒。根据不同的信任假设和噪声源,可以将差分隐私分为3类:中心化差分隐私(centralized differential privacy, CDP)、本地化差分隐私(local differential privacy,LDP)、分布式差分隐私(distributed differential privacy,DDP)。
● 中心化差分隐私。差分隐私最初是为集中式场景设置的,中心化差分隐私有一个重要的前提,即需要一个可信的数据收集库,这个数据库有权查看任何参与者的数据信息。中心化差分隐私希望通过随机化查询结果这种隐私保护方式返回查询结果或公布统计数据。具体地,当中心化差分隐私满足联邦学习场景条件时,中心化差分隐私可以被视为一个可信的聚合器,它负责向聚合的局部模型参数中添加噪声,然后在更新的时候再去掉噪声,从而达到保护隐私的目的。但由于中心化差分隐私需要将大量的数据集中到一起来处理,只有在有大量参与者的情况下才能保证隐私和准确性,因此不适用于参与者相对较少的面向公司的横向联邦学习(horizontally federated learning to businesses,H2B)模型。
● 本地化差分隐私。现实中很难找到中心化差分隐私所需要的收集信息的可信数据中心,本地化差分隐私是基于不可信第三方进行的,将数据的隐私化处理过程转移到每个用户上,使得用户能够单独处理和保护个人数据,以达到保护隐私的目的。本地化差分隐私可以被认为是中心化差分隐私的增强版,它基本继承了中心化差分隐私的特点,同时具备自身的特性:一是充分考虑了任意攻击者的情况,并对隐私保护程度进行了量化;二是本地化扰动数据,并且加入的噪声机制也有所改变,中心化差分隐私的噪声机制主要以拉普拉斯噪声和指数噪声为主,而本地化差分隐私的噪声机制主要以随机响应为主。基于以上优点,本地化差分隐私技术很快在现实中得到了应用,例如谷歌公司使用该技术从Chrome浏览器采集用户的行为统计数据,但其缺点是会在一定程度上影响精度。
● 分布式差分隐私。虽然本地化差分隐私可以在本地很好地保证隐私安全,但在分布式场景中,如果没有密码技术的帮助,每个参与者必须添加足够的校准噪声来确保本地化差分隐私,这往往会导致效率不高。分布式差分隐私填补了中心化差分隐私和本地化差分隐私的空缺,其通过对运行相同噪声机制的参与者进行求和来实现整体加性噪声的机制,再结合密码技术,达到既不需要可信的信息收集数据库,又能达到良好效果的目的。
2.1.2 同态加密
同态加密的基本思想是先对数据进行加密处理,然后对加密的密文执行各种计算,得到加密的结果,将其解密后得到的结果与原始数据(明文)直接执行各种计算得到的结果一致。该方法不仅可以达到保护数据的目的,而且不影响数据的计算。以加法同态加密为例,有:
其中,En表示加密函数,Dec表示解密函数,m1、m2为明文,c1、c2为密文。同态加密是以数学方法为基础的,其破译困难在于计算复杂度很高,一般是指数级,用穷举法基本不可能破解,因此相对安全。但其缺点是相对于明文来说,密文的计算复杂度更高,导致训练时间长,而且对用户的设备也有一定的要求。在联邦学习场景中,为了减少计算量,一般将用户上传的梯度信息进行加密,然后将梯度进行安全聚合,最后对更新后的参数进行解密处理。由于经过同态加密后的梯度是一堆随机数,攻击者没有密钥时无法从这堆数中推理出任何有价值的信息,因此,此方法可以有效地防御各种攻击。
同态加密分为全同态加密和部分同态加密。理论上所有运算都可被分解成乘法和加法运算的组合,因此全同态加密理论上可以支持对密文进行任意计算,但其加密方法往往伴随着巨大的运算量,故此方法的效率比较低,对硬件的要求比较高。部分同态加密分为加法同态和乘法同态,与全同态加密相比,部分同态加密更加高效,因此在联邦学习设置中常伴随着部分同态加密,例如参考文献使用加法同态来保证模型参数的共享安全,使得每个客户端的隐私不会被中央服务器泄露。参考文献提出一种用于迁移学习的联邦学习框架,其采用加法同态加密技术来加密模型参数,以保护数据隐私。随着硬件的发展,实现同态加密与其他安全方法的结合成为可能。参考文献提出一种基于同态加密的安全联邦学习框架,他们将同态加密与可验证计算技术结合,直接在同态加密形成的加密域中执行联邦平均,并通过可验证计算来证明该算子被正确应用。
2.1.3 秘密共享
秘密共享是确保信息安全和数据机密性的重要方法,也是联邦学习领域的基本应用技术。秘密共享主要用于保护参与者的重要信息,并防止信息丢失以及信息被破坏和篡改。其思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。例如秘密共享(s,n)表示将一个秘密信息s分为n个片段,并将其交给n个不同的参与方进行安全保存,设置一个阈值t,当超过t个参与方时就可以重构秘密信息,但参与方数小于t时不能获得关于s的任何有用信息。典型的秘密共享方案由Shamir和Blakley于1979年提出,该方案基于多项式的方法构成,后来秘密共享方案的形式愈发多样化,被应用于多个领域。以多项式为例,秘密共享分为生成与分发密钥以及解密两个步骤,首先按照如下多项式生成密钥:
其中,K表示秘密,t为秘密共享的阈值,ai为多项式的系数,模数p是为安全计算而设置的(使解密难度增大)。然后根据t个参与方提供的密钥
在联邦学习框架中,秘密共享主要用于将用户上传的梯度信息进行秘密共享处理,保证恶意服务器无法得到梯度信息,从而可以作为一种针对恶意服务器的防御方法。Bonawitz K等人设计了一种基于Shamir秘密共享的安全聚合方案,该方案确保在诚实和好奇的服务器下可以安全地更新参数,同时可以控制秘密共享协议的复杂性,从而在大规模数据集中保持较低的计算和通信成本。随着人们对数据安全的要求日渐提高,秘密共享方案也在更新,可验证秘密共享(verifiable secret sharing,VSS)是基于传统的秘密共享升级而来的,它不仅能保证秘密的完整性,还能保证参与者分享的秘密是正确的。根据不同的应用场景,可验证秘密共享有几种不同的方案,参考文献对各种可验证秘密共享进行了研究,提出了多种安全可靠的可验证秘密共享方案,可被应用于多种分布式安全计算场景。随着硬件设备的改善和需求的提高,许多可验证秘密共享与其他安全方法(如同态加密)结合的方案也被应用于联邦学习框架,具备这种方案的联邦学习框架不仅可以发挥联邦学习分布式的优点,还能加强其安全性。
综上,联邦学习通用隐私保护措施对比见表3。
2.2 联邦学习针对性防御措施
2.2.1 防御数据中毒
数据中毒是联邦学习中常见的攻击,截至目前,已经有很多具体的用于防御数据中毒的措施,其中一种常用的措施是在训练之前检验数据的真实性和可靠性。Baracaldo N等人使用上下文信息(如来源和转换)来检测数据采样点,该检测方法先将整个训练集划分为多个部分,随后比较每个部分的训练结果,以识别出训练结果最异常的部分,从而消除异常数据。除检测外,还可在训练之前转换数据,例如参考文献将原始数据压缩转换成另一种形式,攻击者一般不会提前知道压缩形式,从而可以在一定程度上保证数据安全。同时还可以降低数据与模型参数的存储量,提高运算的速度,降低通信成本。参考文献提出了一种高级表征引导去噪器(high-level representation guided denoiser,HGD)的方法,它解决的是标准降噪器误差放大效应(较小的残余对抗噪声会被逐渐放大)导致的错误分类问题,将由干净图像数据和去噪图像激活的目标模型输出之间的差值定义为损失函数,通过优化此损失函数来解决上述问题。此外,还有通过减少每个像素的颜色位深度和训练图像的空间平滑度来防御数据中毒的方法。值得注意的是,虽然这些方法可以在一定程度上防御数据中毒,但也可能导致原有数据结构被破坏,使得原有数据的训练效果不佳。
除了上述方法,还有一种常用的防御方法是对抗训练,该方法的特点是只要对抗样本足够多,就可以达到很好的防御效果,因此该方法可以防御很多类型的数据中毒。对抗训练的原理是将真实样本和对抗样本放在一起作为训练模型的训练集,通过训练,模型能认识并“解决”(一般通过修改其标签来实现)中毒样本。在图像领域,对抗训练通常可以提高模型的鲁棒性,但往往会导致泛化性能下降;在语音领域,对抗训练可以同时提高鲁棒性和泛化性,但其缺点是准确度不高。参考文献提出一种联邦动态对抗训练方法,该方法不仅可以提高训练模型的准确度,还能加快模型的收敛速度。Fung C等人使用了一种被称为FoolsGold的防御方法,可以很好地防御标签翻转攻击和数据后门中毒攻击,该方法的特点是不用限制攻击者的预期数量且适用于不同的客户数据分布,并且不需要训练过程之外的辅助信息就可以进行有效的防御,但是不足之处是这种防御方法需在许多特定的攻击假设下才有效,例如在攻击类型为后门攻击或翻转标签攻击时奏效。
2.2.2 防御模型攻击
对于模型攻击,防御的重点是检测错误的模型参数。参考文献提出两种检测模型参数的方法。一种方法是直接使用参数之间的数值差异来进行检测,具体是每个参与者提供n个参数 ,当一方提供的参数与其他用户提供的参数有很大差异时,则判断该参数异常。另一种方法是服务器根据某个参与者上传的参数δi执行相应的处理 ,然后使用其他参与者上传的参数计算 ,其中 ,WG为参与者上传的梯度信息,f为设计的特定函数,比较WG1和WG2,如果差值超过某个设定值,则推断模型参数δ出现异常。针对后门攻击,参考文献提出一种通过基于反馈的联邦学习进行后门检测的方法,这是一种保护联邦学习免受后门攻击的新型防御措施。其核心思想是使用多个客户端的数据进行训练以及模型中毒检测。具体做法是先随机选择一组客户端进行训练并上传参数,服务器不仅发送更新后的全局模型参数,还将上一轮各客户端的参数回传给客户端,然后客户端使用自己的数据与收到的参数进行测试打分,当得分超过阈值时,认为该模型受到后门攻击,反之则没有受到后门攻击,如此迭代,从而完成检测。实验表明,该方法对现有后门攻击方法的检测准确率约为100%,误报率低于5%。
联邦学习设置中十分常见的安全聚合算法也是一种有效的防御方法,安全聚合算法在任何集中式拓扑和横向联邦学习环境中都扮演着关键角色,它可以有效地防御模型攻击和推理攻击。迄今为止,多种安全聚合算法被提出,非常经典的是联邦平均聚合算法FedAvg(federated average)。FedAvg简单且实用,其主要思想是将各个用户上传的参数以不同的权重进行平均聚合,每个用户的权重由其拥有的样本数量决定。虽然联邦平均聚合算法在一定程度上可以保护隐私,但是随着联邦学习的发展,对聚合算法的要求越来越高,许多不同的聚合算法应运而生。以下几种聚合算法是在平均聚合算法的基础上进行改进的算法。一是修剪均值聚合算法,具体做法是对于m个模型参数,主设备首先会对其本地模型的m个参数进行排序,然后删除最大和最小的β个参数,计算(m-2β)个参数的平均值,并将其作为全局模型的参数,如此迭代,最后服务器对参数进行平均汇总。二是Median聚合算法,对于本地m个模型参数,主设备将对本地模型的所有参数进行排序,将中位数作为全局模型的参数,当m是偶数时,中位数是中间两个参数的平均值,然后将多个模型的中位数取平均,并将该平均值作为最后超级模型的参数。与修剪均值聚合算法一样,当目标函数强凸时,Median聚合算法可达到最优阶次错误率。三是Krum聚合算法,其主要思想是在众多局部模型中选择与其他模型最相似的模型作为全局模型,即使所选的部分模型来自损坏的工作节点设备,其影响也将受到限制,相当于采用折中的方式进行聚合。基于Krum的影响,参考文献提出一种改进方法Bulyan。该方法主要将Krum聚合算法与修剪均值聚合算法结合。具体而言,首先将Krum聚合算法迭代地应用于选择局部模型,然后使用修剪均值聚合算法聚合局部模型,以获得全局模型。该方法可以消除Krum聚合算法中某些异常模型参数的影响。根据不同的应用场景,还可以将上述聚合算法结合,根据它们的优点,对算法进行加权处理以达到预期效果。除此之外,参考文献针对安全聚合的计算开销问题进行改进,提出一种名为Turbo-Aggregate的安全聚合算法。该算法在具有N个用户的网络中实现了O(N logN)的安全聚合开销,而以往最先进的聚合算法的计算复杂度为O(N2),同时Turbo-Aggregate算法能容忍高达50%的用户流失率。
2.2.3 防御推理攻击
一般来说,推理攻击比其他攻击更难成功,因为它要求攻击者不仅能成功获取联邦学习用户级别以上的部分,而且还能执行有效的推理才能攻击成功。对于推理攻击,联邦学习中也有相应的防御方法,常用的同态加密可以很好地防御推理攻击,在使用了同态加密的情况下,即使模型被成功攻击,攻击者也只会获得密文,而没有密钥的密文对于攻击者而言是毫无意义的。此外,如果攻击是针对全局模型的,则安全聚合算法也可以很好地防御推理攻击,这是因为攻击者通常不知道聚合规则。除了同态加密和安全聚合算法,差分隐私和秘密共享有时也可用于防御推理攻击。除上述防御方法外,还有一些主要针对推理攻击的防御方法。例如模型堆叠,即将多种模型进行集成或者组合来构建最终模型,这种模型内部比较复杂,攻击者一般无法推理出有用的参数。参考文献提出了一种名为消化神经网络(digestive neural network, DNN)的防御推理攻击的架构,它先通过DNN层对数据进行处理,得到数据的高维语义特征,然后计算该特征与原始数据间的L1损失函数,最后通过优化此损失函数来更新模型。这样做不仅可以将原始的数据处理成表征的形式(由于神经网络模型的难解释性,一般无法由表征推理出详实的信息),还能提高模型的准确性。
2.2.4 防御服务器漏洞
针对服务器漏洞问题,可信执行环境(trusted execution environment,TEE)可以通过硬件隔离的技术来保护服务器,这在学术界与产业界都受到了广泛关注。一般在支持TEE的CPU中有一个被称为Enclave的特定的区域,该区域为数据和代码执行提供了更安全的空间,确保了应用程序的机密性和完整性,使得服务器也无法获取用户在此区域中的执行逻辑和用户数据。具体是将该区域与外部环境隔离开,TEE可以直接获取有关外部环境的信息,但具有特殊访问权限的攻击者无法读取或干扰内存区域,只有处理器才能解密和执行该区域内的应用程序,以此达到保证信息的机密性和完整性的目的。此外,英特尔的SGX(software guard extensions)还为用户提供了一种用于验证TEE的真实性的机制,并且攻击者无法更改用户在Enclave内运行的应用程序。目前TEE技术已经在智能设备上得到广泛的应用,要求在同一个设备上支持多个独立的TEE系统的场景也逐步增多,如上海瓶钵信息科技有限公司设计和实现了在移动智能设备上支持多个不同TEE的安全虚拟化系统TEEv。参考文献提出了一个基于TEE的完整隐私保护联邦学习方案,并通过实验表明该方案可以确保联邦学习训练过程的完整性和安全性,并且具有很强的实用性。还有其他安全方法也可防御恶意服务器,如安全多方计算。安全多方计算是密码协议的子领域,其目标是多方联合完成某种协同计算,每个参与者在完成计算之后,只能获得计算结果,无法获得参与实体的任何输入信息。参考文献使用安全多方计算来构建联邦学习系统,作者使用秘密共享来保护参数信息,通过引入双重掩码结构来防御恶意服务器,并验证了即使服务器可以重建用户的扰动,秘密也可受到保护。
综上,对联邦学习中的针对性防御措施进行对比分析,见表4。
3 总结与展望
随着人工智能的快速发展,许多数据安全问题不容忽视,在充分利用数据的同时保障用户的信息安全是一个很难实现的目标,从上述各种攻击与防御中可以看出,虽然联邦学习框架和相应的技术能够在一定程度上保护数据,但是还有许多安全问题有待解决。联邦学习攻击与防御的关键要素有模型的鲁棒性、模型训练和推理阶段的通信效率等。本文总结了如下5个可能的研究方向。
● 防御方法更加鲁棒。尽管本文介绍了许多可以在联邦学习中免受攻击的防御方法,但这些方法都有局限性,通常一种防御方法只能防御一种攻击,当联邦学习中存在多种攻击时,单一的防御方法显然是不够的。而且,同一种防御方法在不同的终端和模型(改动不大)中防御效果也不一样,可能会失效,甚至有时因为一些数据集的改变或者模型的微小改动就会对防御产生很大的影响,这些都是鲁棒性不足的表现。目前还没有鲁棒性非常高的防御方法可以同时针对多个不同的攻击进行有效的防御,甚至有些攻击还没有相应的防御方法。因此,找到一种鲁棒性更高的防御方法是非常有必要的方向之一。
● 攻击更加多样。攻击与防御是密不可分的,只有攻击一直发展,防御才会一直进步,而且有些防御是基于攻击的思路发展而来的。因此,对攻击研究得透彻,可以在一定程度上促进防御的发展,从而促进联邦学习更快地发展。具体地,应基于上述攻击方法进行更新迭代,从多个方位进行创新。
● 提高通信效率。由于机器学习通常需要大量的计算,资源管理在实现相关可持续和高效的联邦学习解决方案方面发挥着重要作用。而在这方面,很少有工作将边缘计算集成到联邦学习,以支持具有额外计算资源的终端设备,这是一个需要发展的方向。如果在联邦学习过程中使用过多防御措施或加密措施,将不可避免地增加计算量,通常也会增加服务器的通信负担,严重时会导致服务器拒绝服务。同时由上述方法(局部更新、模型压缩)可知,每种方法的准确性和通信效率是相互制约的,它们之间的权衡非常重要,因此,如何在保证数据安全的基础上保证通信效率和精度是今后非常必要的研究方向之一。
● 探索异构联邦学习。目前,隐私和鲁棒性研究大多集中在具有同构模型架构的联邦学习范式中,而现有的隐私保护技术和攻击防御机制是否适用于具有异构模型架构的联邦学习仍未得到充分的实证性研究。因此,将现有的攻击与防御方法推广到异构联邦学习是非常有价值的,具体可以从联邦个性化学习、研究新的异构性定义、快速确定联邦网络中的异构性水平等方向进行。
● 模型可解释。模型可解释性是指可以将模型解释或表达成可理解的术语。这不仅是未来联邦学习的研究方向,也是人工智能的研究方向。目前,相关研究人员也许知道机器学习能够很好地解决一个问题,但对于解决原理,却知之甚少。相对于传统的机器学习,联邦学习会进一步提高模型的复杂度,缺乏可解释性会导致联邦学习在应用过程中存在潜在威胁,提高联邦学习模型的可解释性有利于提前解决联邦学习落地所带来的潜在威胁,因此这也是相关研究人员努力的方向之一。
联邦学习是一个富有前途的研究方向,它以打破“数据孤岛”和保护用户隐私而闻名,目前已经吸引了大量的研究者进行相关领域的研究,并取得了一定的成就,也得到了广泛认可。虽然联邦学习能解决一些现实问题,但仍然存在许多潜在的威胁,未来还需深入研究存在的安全问题,加快处理联邦学习面临的挑战,共同推动联邦学习进一步发展为解决数据安全问题的首要利器。
作者简介
联系我们:
Tel:010-81055448
010-81055490
010-81055534
E-mail:bdr@bjxintong.com.cn
http://www.infocomm-journal.com/bdr
http://www.j-bigdataresearch.com.cn/
转载、合作:010-81055307